React Native add bold or italics to single words in field

后端 未结 12 2584
攒了一身酷
攒了一身酷 2020-12-13 05:14

How do I make a single word in a Text field bold or italics? Kind of like this:

This is a sentence with one word in bold         


        
12条回答
  •  -上瘾入骨i
    2020-12-13 06:03

    you can use https://www.npmjs.com/package/react-native-parsed-text

    import ParsedText from 'react-native-parsed-text';
     
    class Example extends React.Component {
      static displayName = 'Example';
     
      handleUrlPress(url) {
        LinkingIOS.openURL(url);
      }
     
      handlePhonePress(phone) {
        AlertIOS.alert(`${phone} has been pressed!`);
      }
     
      handleNamePress(name) {
        AlertIOS.alert(`Hello ${name}`);
      }
     
      handleEmailPress(email) {
        AlertIOS.alert(`send email to ${email}`);
      }
     
      renderText(matchingString, matches) {
        // matches => ["[@michel:5455345]", "@michel", "5455345"]
        let pattern = /\[(@[^:]+):([^\]]+)\]/i;
        let match = matchingString.match(pattern);
        return `^^${match[1]}^^`;
      }
     
      render() {
        return (
          
            
              Hello this is an example of the ParsedText, links like http://www.google.com or http://www.facebook.com are clickable and phone number 444-555-6666 can call too.
              But you can also do more with this package, for example Bob will change style and David too. foo@gmail.com
              And the magic number is 42!
              #react #react-native
            
          
        );
      }
    }
     
    const styles = StyleSheet.create({
      container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
      },
     
      url: {
        color: 'red',
        textDecorationLine: 'underline',
      },
     
      email: {
        textDecorationLine: 'underline',
      },
     
      text: {
        color: 'black',
        fontSize: 15,
      },
     
      phone: {
        color: 'blue',
        textDecorationLine: 'underline',
      },
     
      name: {
        color: 'red',
      },
     
      username: {
        color: 'green',
        fontWeight: 'bold'
      },
     
      magicNumber: {
        fontSize: 42,
        color: 'pink',
      },
     
      hashTag: {
        fontStyle: 'italic',
      },
     
    });

提交回复
热议问题