Chip React Component
Chips (Tags) React component represent complex entities in small blocks, such as a contact. They can contain a photo, short title string, and brief information
Chip Components
There are following components included:
**Chip**
/**F7Chip**
Chip Properties
Prop | Type | Default | Description |
---|---|---|---|
<Chip> properties | |||
text | string | Chip label text | |
media | string | Text content of chip media | |
mediaBgColor | string | Chip media element background color. One of the default colors | |
mediaTextColor | string | Chip media element text color. One of the default colors | |
deleteable | boolean | false | Defines whether the Chip has additional “delete” button or not |
outline | boolean | false | Makes Card outline |
Chip Events
Event | Description |
---|---|
<Chip> events | |
click | Event will be triggered on Chip click |
delete | Event will be triggered on Chip delete button click |
Chip Slots
Chip React component has additional slots for custom elements:
**text**
- element will be inserted in place of chip text label**media**
- element will be inserted in the chip’s media element
Examples
export default class extends React.Component {
constructor() {
super();
this.deleteChipBound = this.deleteChip.bind(this);
}
render() {
return (
<Page>
<Navbar title="Chips"></Navbar>
<BlockTitle>Chips With Text</BlockTitle>
<Block strong>
<Chip text="Example Chip" />
<Chip text="Another Chip" />
<Chip text="One More Chip" />
<Chip text="Fourth Chip" />
<Chip text="Last One" />
</Block>
<BlockTitle>Outline Chips</BlockTitle>
<Block strong>
<Chip outline text="Example Chip" />
<Chip outline text="Another Chip" />
<Chip outline text="One More Chip" />
<Chip outline text="Fourth Chip" />
<Chip outline text="Last One" />
</Block>
<BlockTitle>Icon Chips</BlockTitle>
<Block strong>
<Chip text="Add Contact" mediaBgColor="blue">
<Icon slot="media" ios="f7:add_round" md="material:add_circle"></Icon>
</Chip>
<Chip text="London" mediaBgColor="green">
<Icon slot="media" ios="f7:compass" md="material:location_on"></Icon>
</Chip>
<Chip text="John Doe" mediaBgColor="red">
<Icon slot="media" ios="f7:person" md="material:person"></Icon>
</Chip>
</Block>
<BlockTitle>Contact Chips</BlockTitle>
<Block strong>
<Chip text="Jane Doe">
<img slot="media" src="http://lorempixel.com/100/100/people/9/" />
</Chip>
<Chip text="John Doe">
<img slot="media" src="http://lorempixel.com/100/100/people/3/" />
</Chip>
<Chip text="Adam Smith">
<img slot="media" src="http://lorempixel.com/100/100/people/7/" />
</Chip>
<Chip text="Jennifer" mediaBgColor="pink" media="J" />
<Chip text="Chris" mediaBgColor="yellow" mediaTextColor="black" media="C" />
<Chip text="Kate" mediaBgColor="red" media="K" />
</Block>
<BlockTitle>Deletable Chips / Tags</BlockTitle>
<Block strong>
<Chip text="Example Chip" deleteable onClick={ this.deleteChipBound } />
<Chip text="Chris" media="C" mediaBgColor="orange" textColor="black" deleteable onClick={ this.deleteChipBound } />
<Chip text="Jane Doe" deleteable onClick={ this.deleteChipBound }>
<img slot="media" src="http://lorempixel.com/100/100/people/9/"/>
</Chip>
<Chip text="One More Chip" deleteable onClick={ this.deleteChipBound } />
<Chip text="Jennifer" mediaBgColor="pink" media="J" deleteable onClick={ this.deleteChipBound } />
<Chip text="Adam Smith" deleteable onClick={ this.deleteChipBound }>
<img slot="media" src="http://lorempixel.com/100/100/people/7/"/>
</Chip>
</Block>
<BlockTitle>Color Chips</BlockTitle>
<Block strong>
<Chip text="Red Chip" color="red" />
<Chip text="Green Chip" color="green" />
<Chip text="Blue Chip" color="blue" />
<Chip text="Orange Chip" color="orange" />
<Chip text="Pink Chip" color="pink" />
<Chip outline text="Red Chip" color="red" />
<Chip outline text="Green Chip" color="green" />
<Chip outline text="Blue Chip" color="blue" />
<Chip outline text="Orange Chip" color="orange" />
<Chip outline text="Pink Chip" color="pink" />
</Block>
</Page>
)
}
deleteChip(e) {
const $$ = this.$$;
const app = this.$f7;
const target = e.target;
app.dialog.confirm('Do you want to delete this tiny demo Chip?', () => {
$$(target).parents('.chip').remove();
});
}
}
当前内容版权归 Framework7 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Framework7 .