收藏
回答

Component组件 内部处理数据问题

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug Component 客户端 6.1 2.0

场景:外部传给组件一段字符串   比如:abcdefg    ,和一个搜索key值 比如key =  c   现在需要accdefg中程的颜色和其他颜色不一样。


我这边处理的就是拆分这个字符串,分三个部分三个text展示。现在问题就是我想吧这个字符串拆分放在组件里面去处理,但是组件提供的方法  都只执行一遍,没有那种,外部setData组件里面方法也会更真去执行的。好想只是第一次会执行

回答关注问题邀请回答
收藏

3 个回答

  • LastLeaf
    LastLeaf
    2018-07-23

    目前,你需要使用属性observer,可以在一个属性被改变后触发一个函数,这个函数里面你可以执行逻辑,比如this.setData。

    2018-07-23
    有用
    回复 1
    • Feel
      Feel
      2018-07-23

      thanks


      2018-07-23
      回复
  • Feel
    Feel
    2018-07-23

    search搜索关键字

    搜索 d   出现abcdef

    想要的效果   abcdef   ===   abcd(这个d变成蓝色,其他字不变)ef。。

    因为服务端给的是一串字符串,所以我要自己拆分,调整对应的颜色,所以想吧这个才分逻辑放在component里面。但是问题就来了,component提供的方法,只是初始化执行一次。


    // components/light-text-view/light-text-view.js

    Component({

      /**

       * 组件的属性列表

       */

      properties: {

        keyword:String,

        contentText:String,

      },

      ready : function(){

        console.log("只走一次");

     

      },

    attachedL:function(){

        console.log("只走一次");

      },


    想要的效果=====>

    {

        如同  onShow()方法一样,每次外部setData,组件里面有一个方法都会执行

        this.setData({

            data:data

        })

    }



      /**

       * 组件的初始数据

       */

      data: {

      

      },


      /**

       * 组件的方法列表

       */

      methods: {

       

     

    })


    2018-07-23
    有用
    回复
  • 工号 9527
    工号 9527
    2018-07-23

    麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

    2018-07-23
    有用
    回复 1
    • Feel
      Feel
      2018-07-23

      具体发出来了,请给个好的意见

      2018-07-23
      回复
登录 后发表内容