• 每天一点点之 taro 框架开发


    1.调用组件

    组件文件

    import Taro, { Component } from '@tarojs/taro'
    import { View } from '@tarojs/components'
    
    export default class Dialog extends Component {
      render () {          
        return (
          <View className='index'>
              我是弹窗组件
          </View>
        )
      }
    }

    调用

    import Taro, { Component } from '@tarojs/taro'
    import { View } from '@tarojs/components'
    import Dialog from './dialog'
    export default class TestDialog extends Component {
      render () {          
        return (
          <View className='index'>
                <View>TestDialog</View>
                <Dialog></Dialog>
          </View>
        )
      }
    }

    2.向组件传值

    组件

    import Taro, { Component } from '@tarojs/taro'
    import { View, Text, Button } from '@tarojs/components'
    
    export default class Dialog extends Component {
      render () {          
        return (
          <View className='index'>
              我是弹窗组件
              {
                  this.props.children
              }
          </View>
        )
      }
    }

    调用

    import Taro, { Component } from '@tarojs/taro'
    import { View, Text, Button, Image } from '@tarojs/components'
    import Dialog from './dialog'
    export default class TestDialog extends Component {
      render () {          
        return (
          <View className='index'>
                {/* TestDialog */}
                <Dialog>
                    <Text>我是test传入的</Text>
                </Dialog>
                <Dialog>
                    <Image src={require('../../lib/img/二哈.jpg')}/>
                </Dialog> 
                <Dialog>
                    <Button>按钮</Button>
                </Dialog>
          </View>
        )
      }
    }

    注意:在组件中的 this.props.children 是只读的,不能进行更改

    3.向组件传递多个值

      由于组件接收的值不能更改,那么如果想要在组件接收多个值,就会出现问题,针对这种情况方案如下:

    在调用页面给组件名定义属性,在组件通过  this.props.myText 来接收值,代码如下:

    组件

    import Taro, { Component } from '@tarojs/taro'
    import { View, Text, Button } from '@tarojs/components'
    
    export default class Dialog extends Component {
      render () {          
        return (
          <View className='index'>
              我是弹窗组件
              { this.props.myText }
              {
                  this.props.children
              }
          </View>
        )
      }
    }

    调用

    import Taro, { Component } from '@tarojs/taro'
    import { View, Text, Button, Image } from '@tarojs/components'
    import Dialog from './dialog'
    export default class TestDialog extends Component {
      render () {          
        return (
          <View className='index'>
                {/* TestDialog */}
                <Dialog myText={<Text>我是myText传入的</Text>}>
                    <Text>我是test传入的</Text>
                </Dialog>
                <Dialog>
                    <Image src={require('../../lib/img/二哈.jpg')}/>
                </Dialog> 
                <Dialog>
                    <Button>按钮</Button>
                </Dialog>
          </View>
        )
      }
    }
  • 相关阅读:
    第一周JAVA基本概念
    Visual Studio 2008 附加进程调试
    .NET错误提示之:ConnectionString尚未初始化
    .NET知识点总结
    JS脚本的基础应用
    错误提示之:无法分析从服务器收到的消息。
    客户端和服务端之间的通信(TCP)
    错误提示之:sqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间
    错误提示之:DataTable已属于另一个DataSet。
    错误提示之:INSERT 语句与 COLUMN FOREIGN KEY 约束 'FK_CCRM_Service_CCRM_Userlist' 冲突。
  • 原文地址:https://www.cnblogs.com/cap-rq/p/10910729.html
Copyright © 2020-2023  润新知