zoukankan      html  css  js  c++  java
  • 如何在iview组件中使用jsx

    最近选用的框架iview表单组件的render写法让人有点不习惯,尤其是在写比较复杂的逻辑的时候,还是感觉模板式的写法比较方便且可读性较强。而render函数除了支持配置写法外,还支持jsx的写法。由于之前有用过react,因此对jsx并不陌生,可以直接上手。

    1、安装插件

    安装插件:transform-vue-jsx
    如果需要使用v-model还需要安装jsx-v-model
    babelrc中配置

    "plugins": [["import", {
        "libraryName": "iview",
        "libraryDirectory": "src/components"}],
        "transform-vue-jsx", "transform-runtime"],
      "env": {
        "test": {
          "presets": ["env", "stage-2"],
          "plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node"]
        }
      }
    

    2、使用及注意事项

    下面粘贴的代码是Table组件的columns的配置项,这里需要注意的有2点:
    1、需要全局注册组件,如输入框组件不可以写成Input必须写成i-input
    2、事件绑定:如点击事件需要携程onOn-click

    {
                title: "关系名",
                key: "name",
                 180,
                render: (h, params) => {
                  let { index, row } = params;
                  return (
                    <div>
                      {this.editShow && this.editIndex === index ? (
                        <span>
                          <i-input
                            placeholder="中文"
                            class="visual-name-input"
                            value={this.editRow.cnName}
                            onOn-blur={this.activeCellChange("cnName")}
                          />
                          <i-input
                            placeholder="英文"
                            class="visual-name-input"
                            value={this.editRow.name}
                            onOn-blur={this.activeCellChange("name")}
                          />
                        </span>
                      ) : (
                        <span
                          class="overflow"
                          title={`${row.cnName}(${row.name})`}
                        >{`${row.cnName}(${row.name})`}</span>
                      )}
                    </div>
                  );
                }
              }
    
  • 相关阅读:
    BZOJ4722 由乃
    LOJ6043 「雅礼集训 2017 Day7」蛐蛐国的修墙方案
    Luogu P2414 [NOI2011]阿狸的打字机
    Luogu P3193 [HNOI2008]GT考试
    Luogu P3167 [CQOI2014]通配符匹配
    Luogu P4503 [CTSC2014]企鹅QQ
    Luogu P5446 [THUPC2018]绿绿和串串
    Luogu P5329 [SNOI2019]字符串
    免密码ssh2登录
    mooon模板的automake、autoconf、m4和libtool版本信息
  • 原文地址:https://www.cnblogs.com/webhmy/p/10500013.html
Copyright © 2011-2022 走看看