为了账号安全,请及时绑定邮箱和手机立即绑定

element-ui的el-select组件采用jsx方式渲染,通过鼠标点击页面选不中下拉选项

element-ui的el-select组件采用jsx方式渲染,通过鼠标点击页面选不中下拉选项

梵蒂冈之花 2019-03-21 18:19:38
题目描述element-ui的el-select组件采用jsx方式渲染,通过鼠标点击页面选不中下拉选项,原生select可以题目来源及自己的思路需求是,点击按钮弹窗messagebox,messagebox中有一个下拉框。因为messagebox是纯js,所以就想到用jsx实现相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)<template>  <div class="hello">    <el-button @click="submit">点击打开弹窗</el-button>  </div></template><script>export default {  name: 'HelloWorld',  data () {    return {      netZoneIdMaps: [        {domainId: '1', name: '名称1'},        {domainId: '2', name: '名称2'},        {domainId: '3', name: '名称3'}      ],      netZoneId: ''    }  },  methods: {    submit () {      let jsxHtml = (        <div>          <el-select value={this.netZoneId} onChange={this.setSelect}>            {this.netZoneIdMaps.map(item => {              return (                <el-option                  key={item.domainId}                  label={item.displayName}                  value={item.domainId}>                </el-option>              )            })}          </el-select>        </div>      )      this.$alert(jsxHtml, {        type: 'question',        dangerouslyUseHTMLString: true,        showCancelButton: true,        confirmButtonText: '确定',        cancelButtonText: '取消'      }).then(() => {})    },    setSelect (e) {      console.log('触发change事件')      this.netZoneId = e      console.log(e)    }  }}</script>你期待的结果是什么?实际看到的错误信息又是什么?我预想的是切换可以正常切换下拉框选项。结果却是页面没有反应,change事件可以触发。没有找到原因。注:将el-select和el-option改为原生的select和option是正常的。
查看完整描述

2 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

https://img1.sycdn.imooc.com//5cb2d3410001abbd08000126.jpg

  • dangerouslyUseHTMLString 将message作为html片段处理。

  • 然而你只是写的jsx,即 只是想给message传递VNode而已。


查看完整回答
反对 回复 2019-04-14
?
千巷猫影

TA贡献1829条经验 获得超7个赞

onChange事件改为 onInput事件


查看完整回答
反对 回复 2019-04-14
  • 2 回答
  • 0 关注
  • 2720 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号